home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / javax / swing / SwingPaintEventDispatcher.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  1.9 KB  |  54 lines

  1. package javax.swing;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Rectangle;
  6. import java.awt.event.PaintEvent;
  7. import java.security.AccessController;
  8. import sun.awt.AppContext;
  9. import sun.awt.PaintEventDispatcher;
  10. import sun.awt.SunToolkit;
  11. import sun.awt.event.IgnorePaintEvent;
  12. import sun.security.action.GetBooleanAction;
  13. import sun.security.action.GetPropertyAction;
  14.  
  15. class SwingPaintEventDispatcher extends PaintEventDispatcher {
  16.    private static final boolean SHOW_FROM_DOUBLE_BUFFER = "true".equals(AccessController.doPrivileged(new GetPropertyAction("swing.showFromDoubleBuffer", "true")));
  17.    private static final boolean ERASE_BACKGROUND = (Boolean)AccessController.doPrivileged(new GetBooleanAction("swing.nativeErase"));
  18.  
  19.    public PaintEvent createPaintEvent(Component var1, int var2, int var3, int var4, int var5) {
  20.       if (!(var1 instanceof RootPaneContainer)) {
  21.          if (var1 instanceof SwingHeavyWeight) {
  22.             AppContext var8 = SunToolkit.targetToAppContext(var1);
  23.             RepaintManager var9 = RepaintManager.currentManager(var8);
  24.             var9.nativeAddDirtyRegion(var8, (Container)var1, var2, var3, var4, var5);
  25.             return new IgnorePaintEvent(var1, 800, new Rectangle(var2, var3, var4, var5));
  26.          } else {
  27.             return super.createPaintEvent(var1, var2, var3, var4, var5);
  28.          }
  29.       } else {
  30.          AppContext var6 = SunToolkit.targetToAppContext(var1);
  31.          RepaintManager var7 = RepaintManager.currentManager(var6);
  32.          if (!SHOW_FROM_DOUBLE_BUFFER || !var7.show((Container)var1, var2, var3, var4, var5)) {
  33.             var7.nativeAddDirtyRegion(var6, (Container)var1, var2, var3, var4, var5);
  34.          }
  35.  
  36.          return new IgnorePaintEvent(var1, 800, new Rectangle(var2, var3, var4, var5));
  37.       }
  38.    }
  39.  
  40.    public boolean shouldDoNativeBackgroundErase(Component var1) {
  41.       return ERASE_BACKGROUND || !(var1 instanceof RootPaneContainer);
  42.    }
  43.  
  44.    public boolean queueSurfaceDataReplacing(Component var1, Runnable var2) {
  45.       if (var1 instanceof RootPaneContainer) {
  46.          AppContext var3 = SunToolkit.targetToAppContext(var1);
  47.          RepaintManager.currentManager(var3).nativeQueueSurfaceDataRunnable(var3, var1, var2);
  48.          return true;
  49.       } else {
  50.          return super.queueSurfaceDataReplacing(var1, var2);
  51.       }
  52.    }
  53. }
  54.